데이터베이스 기본 용어
데이터베이스
- 데이터베이스는 일반적으로 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보 또는 데이터의 조직화된 모음이다.
- 데이터베이스는 일반적으로 DBMS라고 불리는 데이터베이스 관리 시스템에 의해 제어된다.
- 데이터베이스는 다음 4가지 특징을 갖는다.
- 실시간 접근 (real-time accessibility) 이 가능하다.
- 계속 변화 (continuous evolution) 한다.
- 동시 공유 (concurrent sharing) 가 가능하다.
- 내용으로 참조 (content reference) 가 가능하다.
- 많이 사용되는 데이터베이스의 종류로 크게 2가지가 있다.
- 관계형 데이터베이스
- 행과 열로 구성된 테이블간의 관계를 나타내며, SQL을 통해 관리한다.
- MySQL, Maria DB, MS-SQL 등이 있다.
- NoSQL
- 관계형 데이터 베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 갖고 있다.
- Mongo DB, Cassandra 등이 있다.
- 관계형 데이터베이스
데이터
- 데이터베이스의 가장 중요한 목적은 데이터를 모아두는 것이다.
- 데이터는 형태에 따라 3가지로 분류할 수 있다.
- 정형 데이터
- 구조화된 데이터, 즉 미리 정해진 구조에 따라 저장된 데이터다.
- 엑셀의 스프레드시트, 관계형 데이터베이스의 테이블
- 반정형 데이터
- 구조에 따라 저장된 데이터지만, 정형 데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재
- HTML, XML, JSON 등이 반정형 데이터에 속한다.
- 비정형 데이터
- 정해진 구조 없이 저장된 데이터다.
- 소셜 데이터의 텍스트, 영상, 이미지, PDF와 같은 멀티미디어 데이터가 비정형 데이터에 속한다.
- 정형 데이터
데이터베이스 관리 시스템 (DBMS)
- 데이터베이스 관리 시스템 등장 이전에 사용되던 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어이다.
- 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.
SQL (Structured Query Language)
- SQL은 데이터를 조작 및 제어하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어이다.
스키마 (Schema)
- 스키마는 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다.
- 데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록, 스키마는 3층 구조로 되어있다.
- 외부 스키마: 프로그래머나 사용자 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것
- 개념 스키마: 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것
- 내부 스키마: 전체 데이터베이스의 물리적 저장 형태를 기술하는 것
릴레이션 (Relation)
- 관계 데이터 모델에서는 하나의 개체에 관한 데이터를 릴레이션 하나에 담아 데이터베이스에 저장한다.
- 릴레이션과 관련된 용어들은 다음과 같다.
- 속성 (attribute)
- 릴레이션의 열을 속성이라고 부른다.
- 각 속성은 서로 다른 이름을 이용해 구별한다.
- 릴레이션은 파일 관리 시스템에서의 파일, 속성은 필드에 대응하는 개념이다.
- 튜플 (tuple)
- 릴레이션의 행을 튜플이라고 부른다.
- 튜플은 파일 관리 시스템에서 해당 파일의 레코드에 대응하는 개념이다.
- 도메인 (domain)
- 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값들의 집합이다.
- 예를 들어, 속성의 값으로 red, blue, green, yellow 중 하나만 허용된다면, 4가지 값을 모아놓은 것이 속성의 도메인이 된다.
- 차수 (degree)
- 하나의 릴레이션에서 속성의 전체 개수를 릴레이션의 차수라고 한다.
- 모든 릴레이션은 최소 1 이상의 차수를 유지해야 한다.
- 릴레이션의 차수는 일반적으로 자주 변하지 않는다는 정적인 특징이 있다.
- 카디널리티 (cardinality)
- 하나의 릴레이션에서 튜플의 전체 개수를 릴레이션의 카디널리티라고 한다.
- 튜플이 없는 릴레이션이 존재할 수도 있다.
- 릴레이션의 카디널리티는 일반적으로 자주 변한다는 동적이 특징이 있다.
- 속성 (attribute)
나올 수 있는 면접 질문
- 데이터베이스의 정의와 특징
- 데이터의 종류
- 속성과 튜플의 차이, 차수와 카디널리티의 차이
참고
- 데이터베이스(Database)의 종류 - fdsa09876님 블로그
- 데이터베이스 정의 - 오라클
- 데이터베이스 - 위키피디아
- 데이터 베이스 기초 개념 및 용어 정리 - 1일1코딩님 블로그
- 데이터베이스 스키마 - 위키피디아
- 데이터베이스 개론 - 김연희 지음
기여자
Junho Moon
📦